// app.js
let http = require('./utils/http')
let fly = require('./utils/request')
require('./utils/leancloud-init.js')
let AV = require('./lib/av-core-min')
App({
    onLaunch() {
        // 尝试提取本地存储的userInfo
        try {
            var value = wx.getStorageSync('userInfo')
            if (value) {
                this.userInfo = value
                // Do something with return value
            }
        } catch (e) {
            // Do something when catch error
            console.log('本地存储提取失败');
        }
    },
    globalData: {
        userInfo: null
    },
    userInfo: null,
    ...http,
    fly,
    handleLogin(){
        // 获取微信账号信息（头像、昵称）
        // 获取用户手机号 (商家号)
        wx.getUserProfile({ //【1】弹窗授权
          desc: '请授权以便为您提供VIP服务',
          success:(res)=>{
              if(res.errMsg=='getUserProfile:ok'){
                //   console.log(res);
                  AV.User.loginWithMiniApp().then(user => { //【2】向后端发起一键登录请求
                    console.log(user);
                    // 向当前用户表中提交用户头像、昵称
                    let {avatarUrl,nickName} = res.userInfo
                    fly.config.headers['X-LC-Session'] = user._sessionToken //更新用户信息，必须携带session
                    console.log(fly.config.headers);
                    fly.put(`/1.1/users/${user.id}`,{ //【3】将授权得到的用户信息更新至用户表
                        avatarUrl,nickName
                    }).then(info=>{
                        console.log(info);
                        let {attributes,id} = user
                        let uinfo = { //整合用户信息
                            ...attributes,
                            id,
                            nickName,avatarUrl
                        }
                        this.userInfo = uinfo //全局存储
                        wx.setStorage({ //本地持久缓存
                            key:'userInfo',
                            data:uinfo
                        })
                    })
                  }).catch(console.error);
              }
          },
          fail:(err)=>{
            wx.showToast({
                title: '很遗憾不能为您提供VIP服务',
                icon:'none'
              })
          }
        })
    },
})